今天,要介紹的是在 Spring Boot 應用程序中實現郵件發送功能。郵件發送對於許多應用程序來說都是一個重要的功能,它可以用於註冊驗證、密碼重置、通知等各種用途!!
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
<version>3.1.1</version>
</dependency>
@Bean
public JavaMailSender getJavaMailSender() {
JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
mailSender.setHost("smtp.gmail.com"); // 設定郵件伺服器的主機名稱
mailSender.setPort(587); // 設定郵件伺服器的通信端口號
mailSender.setUsername("eson10200@gmail.com"); // 設定郵箱的使用者名稱
mailSender.setPassword(""); // 設定郵箱的密碼
Properties props = mailSender.getJavaMailProperties();
props.put("mail.transport.protocol", "smtp"); // 設定郵件傳輸協議為 SMTP
props.put("mail.smtp.auth", "true"); // 啟用 SMTP 驗證
props.put("mail.smtp.starttls.enable", "true"); // 啟用 STARTTLS 加密通信
props.put("mail.smtp.ssl.trust", "smtp.gmail.com"); // 信任 Gmail 的 SSL 憑證
return mailSender;
}
@PostMapping(value = "/mail")
public String sendSimpleMail() {
// 創建一個SimpleMailMessage對象,用於設定郵件內容。
SimpleMailMessage message = new SimpleMailMessage();
// 設定郵件的接收者地址。
message.setTo("eson10200@gmail.com");
// 設定郵件主題。
message.setSubject("測試透過 Gmail 去發信");
// 設定郵件內容。
message.setText("測試 Gmail 發信。");
// 使用JavaMailSender發送郵件。
javaMailSender.send(message);
// 返回一個成功的消息,表示郵件已經成功發送。
return "發送成功";
}
安全性
裡的兩步驟驗證
。應用程式密碼
。mailSender.setPassword("");